package com.gjr.commonutils;

import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.util.ObjectUtils;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;

/**
 * 工具类
 *
 * @author 呙境仁
 * @create 2021-08-05 14:57
 */
public class ToolUtil {
    //=============================分页处理============================

    /**
     * 分页返回格式处理
     *
     * @param objectPage 分页对象
     * @param returnList 返回数据集
     * @return 返回数据
     */
    public static HashMap<String, Object> returnData(IPage<?> objectPage, Object returnList) {
        HashMap<String, Object> returnData = new HashMap<>();

        returnData.put("total", objectPage.getTotal());
        returnData.put("limit", objectPage.getSize());
        returnData.put("page", objectPage.getCurrent());
        returnData.put("total_page", objectPage.getPages());
        returnData.put("list", returnList);

        return returnData;
    }

    /**
     * 判断字符串中的内容是否包含数字或小数
     *
     * @param str 内容
     * @return true 数字或小数  false 内容不是数值
     */
    public static boolean isNumeric(String str) {
        if (ObjectUtils.isEmpty(str)) {
            return false;
        }

        Pattern pattern = Pattern.compile("[0-9]*");
        if (str.indexOf(".") > 0) {//判断是否有小数点
            if (str.indexOf(".") == str.lastIndexOf(".") && str.split("\\.").length == 2) { //判断是否只有一个小数点
                return pattern.matcher(str.replace(".", "")).matches();
            } else {
                return false;
            }
        } else {
            return pattern.matcher(str).matches();
        }
    }
}
